#ifndef FACTORY_H
#define FACTORY_H

#include <memory>
#include "Link.h"
#include "Page.h"
#include "Tray.h"
namespace AbsFactory
{
    class Factory
    {
    public:
        // construct 
        virtual std::shared_ptr<Tray> createTray(std::string caption) = 0;
        virtual std::shared_ptr<Page> createPage(std::string title, std::string author) = 0;
        virtual std::shared_ptr<Link> createLink(std::string caption, std::string url) = 0;
    };
};
#endif// FACTORY_H